﻿using System.Collections.Generic;
using KamRemakeRemake.GameObjects.UnitObjects.ActionObjects;
using KamRemakeRemake.Graphics;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;

namespace KamRemakeRemake.GameObjects.UnitObjects.Units.BattleUnits
{
    public class Knight : Unit, IBattleUnit
    {
        public float AttackPower { get; set; }

        public float DefencePower { get; set; }

        public float Armor { get; set; }

        public bool Ranged { get; set; }

        public override List<UnitActionSprite> AvailableActions
        {
            get
            {
                if (_availableActions == null)
                {
                    _availableActions = new List<UnitActionSprite>
                        {
                            {new UnitActionSprite(ActionType.Idle, 8, 1 )}, 
                            {new UnitActionSprite(ActionType.Walk, 8, 6 )},
                            {new UnitActionSprite(ActionType.Die, 2, 3 )},
                            {new UnitActionSprite(ActionType.Face, 8, 1 )},
                            {new UnitActionSprite(ActionType.Attack, 8, 6 )}
                        };
                }
                return _availableActions;
            }
        }


        /// <summary>
        /// Create a new battleunit of type knight
        /// </summary>
        /// <param name="positionX"></param>
        /// <param name="positionY"></param>
        public Knight(int positionX, int positionY)
            : base("Knight", 1, 10, positionX, positionY)
        {
        }

        /// <summary>
        /// Attack the specific unit
        /// </summary>
        /// <param name="unit"></param>
        public void Attack(Unit unit)
        {

        }
    }
}
